PLCs (Programmable Logic Controllers) have been used for decades for automation of electromechanical processes, such as control of machinery in factory assembly lines, amusement rides, or light fixtures. Applications controlling machine operation are typically stored in battery-backed-up or non-volatile memory of the PLC.
A programming language standard (IEC 61131-3) has been developed for programmable logic controllers dedicated to undistributed (centralized or sequential) industrial applications meaning that an application contained in one project is executed on a single platform controller (PLC).
Over the years the need for distributed systems have resulted in the development of a programming language standard (IEC 61499) dedicated to distributed (event-based) industrial applications meaning that an application contained in one project is mapped and executed on a plurality of automation controllers.
Known programming tools, such as IsaGRAF, for programmable logic controllers answers both IEC 61131-3 and IEC 61499 dedicated to centralized or distributed industrial applications. This means that the application contained in one project is to be executed either on a single PLC platform if the project is created using IEC 61131-3 or on a set of PLCs if the project is created using IEC 61499.
Functions/applications drawn up according to IEC 61131-3 can not be directly used in an IEC 61499 application, thus requiring rewriting of function blocks originally used in an IEC 61131-3 if to be used in a distributed application, which is a tedious and time consuming task.
An automation system composed of several IEC 61131-3 compatible devices is known, however requiring a supervising automata or controller to ensure consistency throughout the application. In addition, communication between controllers must be configured and programmed manually with reduced possibilities due to the sequential execution.